﻿package com.liangzhong.model.task.vo
{
	import com.liangzhong.events.AppEventDispatcher;
	import com.liangzhong.events.NotifierEvent;
	import com.liangzhong.model.AppData;
	import com.liangzhong.model.task.TaskModuleType;
	import com.liangzhong.model.type.MatchType;
	
	import flash.events.Event;
	import flash.events.EventDispatcher;
	
	/**
	 *任务信息 
	 * @author lake
	 * 
	 */	
	public class TaskInfoVo extends EventDispatcher
	{
		/**
		 *taskid任务ID 
		 */
		public var taskid:int;
		/**
		 * 任务类型：
		 * 1.	主线任务
		 * 2.	日常任务
		 * 3.	国家对抗赛任务
		 */
		public var ntype:int;
		/**
		 * 任务持续时间,如果为0，表示永久
		 */
		public var contime:int;
		/**
		 * 任务开启俱乐部等级
		 */
		public var level:int;
		
		/**
		 *任务条件 1完成情况  
		 */
		public var f_value1:int;
		/**
		 *任务条件 2完成情况  
		 */
		public var f_value2:int;
		/**
		 * 任务条件1
		 * 
		 * 大于1则需要显示 2/4
		 */
		public var value1:int;
		/**
		 * 任务条件2
		 * 大于1则需要显示 2/4
		 */
		public var value2:int;
		/**
		 * 任务奖励欧元
		 */
		public var coin:int;
		/**
		 * 任务奖励声望
		 */
		public var fame:int;
		/**
		 *exp 任务奖励经验
		 */
		public var exp:int;
		/**
		 *pid1 对应表的ID：
如果ntype是5，就是材料卡表中的ID
如果ntype是1，就是球星卡表中的ID

		 */
		public var pid1:int;
		/**
		 *ntype1 道具类型：
1.	球员卡
2.	鞋袜卡
3.	属性卡
4.	球衣卡
5.	材料卡
6.	其他卡
7.	药剂卡

		 */
		public var ntype1:int;
		/**
		 *locked1 是否加锁
		 * 1-加锁，2-不加锁
		 */
		public var locked1:int;
		/**
		 * 
		 */
		public var pid2:int;
		/**
		 * 
		 */
		public var ntype2:int;
		/**
		 * 
		 */
		public var locked2:int;
		/**
		 * 
		 */
		public var pid3:int;
		/**
		 * 
		 */
		public var ntype3:int;
		/**
		 * 
		 */
		public var locked3:int;
		/**
		 * 
		 */
		public var descplay:String;
		/**
		 *模块类型 
		 */
		public var clienttype:int ;
		/**
		 *任务完成状态 
		 * 任务状态：
1.	未完成
2.	已完成
		 */
		public var status:int;
		
		
		/**
		 *是否弹出过任务领取面板
		 * 如果弹出过，为true，任务再次更新，则不需要弹出任务领取面板
		 * 没有弹出过为false;任务更新后状态为完成状态，则需要弹出任务领取面板，并把此值改为true;
		 *  
		 */
		public var isShowFinishView:Boolean;
		
		
		
		public function TaskInfoVo()
		{
		}
		public function analysis($xml:XML):void
		{
			if($xml == null)return;
			var xmlList:XMLList = $xml.children();
			for each(var xml:XML in xmlList)
			{
				if(this.hasOwnProperty(xml.localName()))
					this[xml.localName()] = xml.toString();
			}
		}
		
		
	}
}

		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		//		/**
		//		 *任务名字 
		//		 */		
		//        public var name				:String = "";
		//		/**
		//		 *任务tips 
		//		 */		
		//		public var tips				:String = "";
		//		/**
		//		 *任务id 
		//		 */		
		//        public var id				:int;
		//		/**
		//		 *任务关联模块 
		//		 * 如比赛 match
		//		 */		
		//		private var _module		:String;
		//		/**
		//		 *关联模块子类型 
		//		 * 如 友谊赛 0 
		//		 *    天梯赛 1
		//		 */		
		//		public var moduleType		:String = "";
		//		/**
		//		 *任务描述 
		//		 */		
		//        public var desc				:TaskDescVo;
		//		/**
		//		 *任务描述文字 
		//		 */		
		//		public var trackDesc		:String = "";
		//		/**
		//		 *是否已经接受任务 
		//		 */		
		//        public var hasAccepted		:Boolean = false;
		//		/**
		//		 *图标索引 帧数 
		//		 */		
		//		public var iconIndex		:int;
		//		
		//        public function TaskInfoVo()
		//        {
		//			desc = new TaskDescVo();
		//        }
		//
		//        public function get taskState() : int
		//        {
		//            if (desc)
		//            {
		//                return desc.taskState;
		//            }
		//            return 0;
		//        }
		//
		//        public function get type() : int
		//        {
		//            return desc.type;
		//        }
		//		/**
		//		 *排序type 
		//		 * @return 
		//		 * 
		//		 */		
		//		public function get sortType():int
		//		{
		//			switch(desc.type)
		//			{
		//				case 1://主线
		//				{
		//					return 3;
		//				}
		//				case 2://日常
		//				{
		//					return 1;
		//				}
		//				case 3://随机
		//				{
		//					return 2;
		//				}
		//			}
		//			return 4;
		//		}
		//		
		//		public function set module(value :String):void
		//		{
		//			_module = value;
		//			switch(_module)
		//			{
		//				case TaskModuleType.Role://角色相关，比如等级...
		//				{
		//					AppEventDispatcher.getInstance().addEventListener(NotifierEvent.CLUB_LV_CHANGE,updateTaskHandler);
		//					break;
		//				}
		//				case TaskModuleType.Trade://交易模块相关
		//				{
		//					AppEventDispatcher.getInstance().addEventListener(NotifierEvent.TRADE_DATA_CHANGE,updateTaskHandler);
		//					break;
		//				}
		//				case TaskModuleType.Train://训练模块相关
		//				{
		//					AppEventDispatcher.getInstance().addEventListener(NotifierEvent.TRAIN_DATA_CHANGE,updateTaskHandler);
		//					break;
		//				}
		//				case TaskModuleType.Match://比赛模块相关
		//				{
		//					AppEventDispatcher.getInstance().addEventListener(NotifierEvent.MATCH_DATA_CHANGE,updateTaskHandler);
		//					break;
		//				}
		//				case TaskModuleType.Friend://好友模块相关
		//				{
		//					AppEventDispatcher.getInstance().addEventListener(NotifierEvent.FRIEND_DATA_CHANGE,updateTaskHandler);
		//					break;
		//				}
		//				case TaskModuleType.Honour://抽奖模块相关
		//				{
		//					AppEventDispatcher.getInstance().addEventListener(NotifierEvent.HONOUR_DATA_CHANGE,updateTaskHandler);
		//					break;
		//				}
		//				case TaskModuleType.TourMatch://巡回赛模块相关
		//				{
		//					AppEventDispatcher.getInstance().addEventListener(NotifierEvent.TOURMATCH_DATA_CHANGE,updateTaskHandler);
		//					break;
		//				}
		//			}
		//		}
		//		
		//		private function updateTaskHandler(e :NotifierEvent):void
		//		{
		//			var uid :int;
		//			var pid :int;
		//			switch(e.type)
		//			{
		//				case NotifierEvent.CLUB_LV_CHANGE://角色相关，比如等级...
		//				{
		////					desc.demand.current = AppData.getInstance().clubDatamanager.clubInfoVo.grade;
		//					break;
		//				}
		//				case NotifierEvent.TRADE_DATA_CHANGE://交易模块相关
		//				{
		//					switch(id)
		//					{
		//						/*case 20://招兵买马 在球员探索雇佣一名球员
		//						{
		//							excute(e.params.type,2);
		//							break;
		//						}*/
		//						case 139://迈向双赢 把球队中的一名球员投放到市场
		//						{
		//							excute(e.params.type,3);
		//							break;
		//						}
		//						case 155://迈向双赢 从交易场中招募一名球员
		//						{
		//							excute(e.params.type,1);
		//							break;
		//						}
		//						case 141://从球员探索中招募一名球星
		//						{
		//							excute(e.params.type,4);
		//							break;
		//						}
		//						/*case 37://从市场中购买一名综合能力80以上的球员
		//						{
		//							if(e.params.type == 1 && e.params.abiliy >= 80)
		//							{
		//								excute(e.params.type,1);
		//							}
		//							break;
		//						}*/
		//						case 91://进行2次普通搜索(含欧元和道具)
		//						{
		//							excute(e.params.type,5);
		//							break;
		//						}
		//					}
		//					break;
		//				}
		//				case NotifierEvent.TRAIN_DATA_CHANGE://训练模块相关
		//				{
		//					switch(id)
		//					{
		//						case 90://训练有素 对3名球员进行基础训练
		//						{
		//							//excute(e.params,0);
		//							if(e.params.hasOwnProperty("pid"))
		//							{
		//								pid = e.params.pid;
		//								if(desc.demand.isIdExsit(pid) == false)
		//								{
		//									excute(1,1);
		//								}
		//							}
		//							break;
		//						}
		//						case 12://自身强化至绿色
		//						{
		//							updateFinish(int(e.params.color),2);
		//							break;
		//						}
		//						case 13://自身强化至蓝色
		//						{
		//							updateFinish(int(e.params.color),3);
		//							break;
		//						}
		//						case 14://自身强化至紫色
		//						{
		//							updateFinish(int(e.params.color),4);
		//							break;
		//						}
		//						case 15://自身强化至橙色
		//						{
		//							updateFinish(int(e.params.color),5);
		//							break;
		//						}
		//						case 16://自身强化至红色
		//						{
		//							updateFinish(int(e.params.color),6);
		//							break;
		//						}
		//						case 17://自身强化至黑色
		//						{
		//							updateFinish(int(e.params.color),7);
		//							break;
		//						}
		//						case 145://合成一张2级属性卡
		//						{
		//							updateFinish(int(e.params.equipLv),2);
		//							break;
		//						}
		//						case 146://合成一张3级属性卡
		//						{
		//							updateFinish(int(e.params.equipLv),3);
		//							break;
		//						}
		//						case 147://合成一张4级属性卡
		//						{
		//							updateFinish(int(e.params.equipLv),4);
		//							break;
		//						}
		//						case 148://合成一张5级属性卡
		//						{
		//							updateFinish(int(e.params.equipLv),5);
		//							break;
		//						}
		//						case 149://合成一张MAX级属性卡
		//						{
		//							updateFinish(int(e.params.equipLv),6);
		//							break;
		//						}
		//						case 150://合成一张蓝色洗炼卡
		//						{
		//							updateFinish(int(e.params.xiLianLv),3);
		//							break;
		//						}
		//						case 151://合成一张紫色洗炼卡
		//						{
		//							updateFinish(int(e.params.xiLianLv),4);
		//							break;
		//						}
		//						case 152://合成一张橙色洗炼卡
		//						{
		//							updateFinish(int(e.params.xiLianLv),5);
		//							break;
		//						}
		//						case 153://合成一张红色洗炼卡
		//						{
		//							updateFinish(int(e.params.xiLianLv),6);
		//							break;
		//						}
		//						case 154://合成一张黑色洗炼卡
		//						{
		//							updateFinish(int(e.params.xiLianLv),7);
		//							break;
		//						}
		//					}
		//					break;
		//				}
		//				case NotifierEvent.MATCH_DATA_CHANGE://比赛模块相关
		//				{
		//					switch(id)
		//					{
		//						case 92://谁能挡我   完成1场友谊赛
		//						{
		//							if(e.params.step)
		//							{
		//								excute(e.params.type,MatchType.FRIENDSHIPMATCH);
		//							}
		//							break;
		//						}
		//						case 94://谁能挡我   完成1场天梯赛
		//						{
		//							if(e.params.step)
		//							{
		//								excute(e.params.type,MatchType.LADDYMATCH);
		//							}
		//							break;
		//						}
		//						case 130://走向世界   完成1场巡回赛
		//						{
		//							if(e.params.step)
		//							{
		//								excute(e.params.type,MatchType.TOURMATCH);
		//							}
		//							break;
		//						}
		//						case 131://在一场友谊赛中进球数达到3个或者3个以上 {type:1,num:1}
		//						case 132://在一场友谊赛中进球数达到5个或者5个以上 {type:1,num:1}
		//						{
		//							if(e.params.type == MatchType.FRIENDSHIPMATCH && e.params.hasOwnProperty("num"))
		//							{
		//								updateMatchGoal();
		//							}
		//							break;
		//						}
		//						case 133://在一场好友赛中进球数达到3个或者3个以上 {type:1,num:1}
		//						case 134://在一场好友赛中进球数达到5个或者5个以上 {type:1,num:1}
		//						{
		//							if(e.params.type == MatchType.FRIENDMATCH && e.params.hasOwnProperty("num"))
		//							{
		//								updateMatchGoal();
		//							}
		//							break;
		//						}
		//						case 135://在一场巡回赛中进球数达到3个或者3个以上 {type:1,num:1}
		//						case 136://在一场巡回赛中进球数达到5个或者5个以上 {type:1,num:1}
		//						{
		//							if(e.params.type == MatchType.TOURMATCH && e.params.hasOwnProperty("num"))
		//							{
		//								updateMatchGoal();
		//							}
		//							break;
		//						}
		//						case 137://在一场天梯赛中进球数达到3个或者3个以上 {type:1,num:1}
		//						case 138://在一场天梯赛中进球数达到5个或者5个以上 {type:1,num:1}
		//						{
		//							if(e.params.type == MatchType.LADDYMATCH && e.params.hasOwnProperty("num"))
		//							{
		//								updateMatchGoal();
		//							}
		//							break;
		//						}
		//						case 140://赢取3场友谊赛
		//						{
		//							if(e.params.type == MatchType.FRIENDSHIPMATCH)
		//							{
		//								if(e.params.win)
		//								{
		//									excute(e.params.type,MatchType.FRIENDSHIPMATCH);
		//								}
		//							}
		//							break;
		//						}
		//						case 142://赢取3场巡回赛
		//						{
		//							if(e.params.type == MatchType.TOURMATCH)
		//							{
		//								if(e.params.win)
		//								{
		//									excute(e.params.type,MatchType.TOURMATCH);
		//								}
		//							}
		//							break;
		//						}
		//						case 143://赢取3场好友赛
		//						{
		//							if(e.params.type == MatchType.FRIENDMATCH)
		//							{
		//								if(e.params.win)
		//								{
		//									excute(e.params.type,MatchType.FRIENDMATCH);
		//								}
		//							}
		//							break;
		//						}
		//						case 144://赢取3场天梯赛
		//						{
		//							if(e.params.type == MatchType.LADDYMATCH)
		//							{
		//								if(e.params.win)
		//								{
		//									excute(e.params.type,MatchType.LADDYMATCH);
		//								}
		//							}
		//							break;
		//						}
		//					}
		//					break;
		//				}
		//				case NotifierEvent.FRIEND_DATA_CHANGE://好友模块
		//				{
		//					switch(id)
		//					{
		//						case 93://对1名好友发起好友挑战
		//						{
		//							if(e.params.hasOwnProperty("uid"))
		//							{
		//								uid = e.params.uid;
		//								if(desc.demand.isIdExsit(uid) == false)
		//								{
		//									excute(1,1);
		//								}
		//							}
		//							break;
		//						}
		//					}
		//					break;
		//				}
		//				case NotifierEvent.HONOUR_DATA_CHANGE://抽奖模块相关
		//				{
		//					switch(id)
		//					{
		//						case 95://在排行榜中抽奖1次
		//						{
		//							excute(e.params.type,1);
		//							break;
		//						}
		//					}
		//					break;
		//				}
		//				case NotifierEvent.TOURMATCH_DATA_CHANGE://巡回赛模块相关
		//				{
		//					switch(id)
		//					{
		//						case 8://过关C级巡回赛
		//						{
		//							updateFinish(int(e.params.type),1);
		//							break;
		//						}
		//						case 9://过关B级巡回赛
		//						{
		//							updateFinish(int(e.params.type),2);
		//							break;
		//						}
		//						case 10://过关A级巡回赛
		//						{
		//							updateFinish(int(e.params.type),3);
		//							break;
		//						}
		//						case 11://过关S级巡回赛
		//						{
		//							updateFinish(int(e.params.type),4);
		//							break;
		//						}
		//					}
		//					break;
		//				}
		//			}
		//			function excute(t1:int = 0,t2:int = 0):void
		//			{
		//				if(t1 == t2 && desc.demand.current < desc.demand.target)
		//				{
		//					desc.demand.current ++;
		//					if(desc.demand.current == desc.demand.target)
		//					{
		//						AppData.getInstance().taskManager.dispatchEvent(new Event(Event.CHANGE));
		//					}
		//				}
		//			}
		//			//更新进球相关
		//			function updateMatchGoal():void
		//			{
		//				if(desc.demand.current < e.params.num)
		//				{
		//					desc.demand.current = e.params.num;
		//				}
		//				if(e.params.num >= desc.demand.target)
		//				{
		//					AppData.getInstance().taskManager.dispatchEvent(new Event(Event.CHANGE));
		//				}
		//			}
		//			//更新至完成
		//			function updateFinish(t1:int = 0,t2:int = 0):void
		//			{
		//				if(t1 == t2)
		//				{
		//					desc.demand.current = desc.demand.target;
		//					AppData.getInstance().taskManager.dispatchEvent(new Event(Event.CHANGE));
		//				}
		//			}
		//			this.dispatchEvent(new Event(Event.CHANGE));
		//		}
		//		
		//		public function get module():String
		//		{
		//			return _module;
		//		}
		//		
		//		public function get trackDescHtml():String
		//		{
		//			var info :String = "<font color='#6CD53B'><a href='event:"+ module +"'>";
		//			info += trackDesc;
		//			info += "</a></font>";
		//			return info;
		//		}
		//		/**
		//		 * 
		//		 * destroy
		//		 */		
		//		public function destroy():void
		//		{
		//			AppEventDispatcher.getInstance().removeEventListener(NotifierEvent.CLUB_LV_CHANGE,updateTaskHandler);
		//			AppEventDispatcher.getInstance().removeEventListener(NotifierEvent.TRADE_DATA_CHANGE,updateTaskHandler);
		//			AppEventDispatcher.getInstance().removeEventListener(NotifierEvent.TRAIN_DATA_CHANGE,updateTaskHandler);
		//			AppEventDispatcher.getInstance().removeEventListener(NotifierEvent.MATCH_DATA_CHANGE,updateTaskHandler);
		//			AppEventDispatcher.getInstance().removeEventListener(NotifierEvent.FRIEND_DATA_CHANGE,updateTaskHandler);
		//			AppEventDispatcher.getInstance().removeEventListener(NotifierEvent.HONOUR_DATA_CHANGE,updateTaskHandler);
		//			AppEventDispatcher.getInstance().removeEventListener(NotifierEvent.TOURMATCH_DATA_CHANGE,updateTaskHandler);
		//		}
